package com.local.coupon.service;

import com.local.common.util.PageResultUtil;
import com.local.coupon.pojo.Coupon;

import java.util.List;

public interface CouponService {
    /**
     * 查询数据列表，支持翻页和搜索
     * @param page
     * @param limit
     * @param sort
     * @param order
     * @param couponName
     * @param couponType 优惠券赠送类型，如果是0则通用券，用户领取；如果是1，则是注册赠券；如果是2，则是优惠券码兑换；
     * @param couponStatus 优惠券状态，如果是0则是正常可用；如果是1则是过期; 如果是2则是下架。
     * @param startTime
     * @param endTime
     * @param isDeleted 0正常  1删除
     * @return
     */
    public PageResultUtil<Coupon> selectCouponList(Integer page, Integer limit, String sort, String order, String couponName, Integer couponType, Integer couponStatus, String startTime, String endTime, Integer isDeleted);


    /**
     * 通过id查询
     * @param couponId
     * @return
     */
    public Coupon selectById(Integer couponId);

    /**
     * 新增
     * @param coupon
     * @return
     */
    public Integer save(Coupon coupon);


    /**
     * 修改
     * @param coupon
     * @return
     */
    public Integer update(Coupon coupon);


    /**
     * 根据id逻辑删除
     * @param couponId
     * @return
     */
    public Integer delete(Integer couponId);


    /**
     * 查询商品优惠券页面的数据列表
     * @param userId
     * @return
     */
    public List<Coupon> selectMallCouponList(Integer userId);

}
